1. Field of Invention
The present invention relates generally to the field of content and/or data delivery over a network. More particularly, the present invention is related to apparatus and methods for distributing programming content, media, data and other information services according to downloadable conditional access (CA), trusted domain (TD) and/or digital rights management (DRM) schemes.
2. Description of Related Technology
Recent advances in digital information processing have made a wide range of services and functions available for delivery to consumers at their premises for very reasonable prices or subscription fees. These services and functions include digital programming (movies, etc.), digital video-on-demand (VOD), personal video recorder (PVR), Internet Protocol television (IPTV), digital media playback and recording, as well high-speed Internet access and IP-based telephony (e.g., VOIP). Other services available to network users include access to and recording of digital music (e.g., MP3 files), as well local area networking (including wire-line and wireless local area networks) for distributing these services throughout the user's premises, and beyond.
Currently, many of these services are provided and delivered to the user via a wide variety of different equipment environments including, inter alia, cable modems, WiFi hubs, Ethernet hubs, gateways, switches and routers, computers, servers, cable set-top boxes, PSTNs, cellular telephones/smartphones, PDAs, and portable digital music devices such as the Apple iPod™. Additionally, the services associated with such technology are typically provided by multiple vendors including e.g., a cable service provider (e.g., MSO), cellular service provider (CSP), wireless service provider (WSP), VoIP service provider, music download service, Internet service provider (ISP), PSTN telephone service, etc.
The myriad of services, equipment and providers can easily create confusion and economic inefficiency for someone using many of these services on a regular basis. In particular, a user may have to pay for each service or equipment separately, thus eliminating any economies of scale based on integration. Additionally, the equipment or services may not interoperate with one another, thus reducing the overall utility provided to the user, and increasing their frustration level. These problems are particularly acute when the number of different services utilized (and hence number of service providers) is high.
Some improvements in digital service integration have been made over time. For example, cable system subscribers (such as those of the Assignee hereof) can now access VOD, PVR, PPV and broadcast services simultaneously, as well a Internet access via cable modem, and even digital telephony (e.g., VOIP). However, these functions are still substantially disparate in terms of their hardware and software environments (i.e., the user must have a cable modem, set-top box, VoIP telephony unit, PC, etc.), and “cross-over” between the environments (e.g., moving content or data from one environment to the other) is quite limited.
Moreover, the movement of content delivered by these services within the user's premises (or even outside) is substantially frustrated, largely due to concerns relating to protection of valuable (e.g., copyrighted) content and surreptitious reproduction and distribution. Such unauthorized reproduction and distribution not only detracts from the network operator's revenue and commercial viability, but also that of the content source (e.g., movie studio, recording studio/artist, etc.).
Moreover, the lack of a comprehensive and effective scheme for control of content within the user domain effectively precludes content providers from releasing new content over cable or satellite networks contemporaneous with its availability over retail or rental outlets, due in large part to unauthorized access, reproduction and distribution concerns. Stated simply, new release content availability over cable typically lags that of rental/retail, due primarily to the lack of an effective control mechanism for the content once it is delivered to the user domain.
A number of existing technologies have heretofore been employed by network operators in order to attempt to frustrate surreptitious access, copying and distribution of valuable content. These approaches are now described.
Conditional Access
Conditional access (CA) technologies are typically incorporated into content-based networks, such technologies including the digital encoding of various types of data including audio and video programming and music. Conditional access can generally be defined as the control of when and how a user may view and use the associated programming or information. Different types of conditional access may be desirable in a network delivery system in order to, e.g., accommodate improvements in the technology over time, as well as different conditional access attributes such as security and category of programming or user access level.
A variety of traditional methods of conditional access exist including, e.g., “Powerkey”, NDS, and DigiCipher. A generalized conditional access model is also provided by the well-known DVB (Digital Video Broadcasting) Specification TS 101 197 V1.2.1 (02/02), DVB SimulCrypt; Part 1: “Head-end architecture and synchronization”, and TS 103 197 V1.2.1 (02/02): “Head-end Implementation of SimulCrypt”, each incorporated herein by reference in its entirety. These can be implemented using, for example, the so-called “CableCard” plug-in security module access technology (also known as a “a point-of-deployment (POD) module”). See, e.g., the CableCard-Host interface specification, which defines the interface between a digital cable receiver or STB (Host device) and the CableCard device provided by the MSO/cable operator. CableCard was developed to satisfy certain security requirements to allow retail availability of host devices, e.g., set-top boxes, digital cable ready televisions, DVRs, personal computers (PCs), integrated digital televisions, etc., for receiving cable services. The CableCard, comprising a PCMCIA device, can be inserted into a host device, allowing a viewer to receive cable systems' secure digital video services, e.g., pay per view TV, electronic program guides, premium subscription channels, etc.
Specifically, the CableCard contains conditional access functionality, as well as the capability of converting messages to a common format. Thus, the CableCard provides a cable operator with a secure device at the subscriber premises, and acts as a translator so that the host device needs to understand a single protocol, regardless of the type of the network to which it is connected.
For example, with the CableCards provided by cable operators, host devices which comply with OpenCable specifications, e.g., the an OpenCable Applications Platform (OCAP), may be sold in retail outlets. (For details on such a platform, one may refer, e.g., to: “OpenCable Application Platform Specification,” OCAP 2.0 Profile, OC-SP-OCAP2.0-I01-020419, Cable Television Laboratories, Inc., Apr. 19, 2002, incorporated herein by reference in its entirety.) The OCAP allows applications to be built to a common middleware layer for deployment on host devices interoperable across cable systems in North America. (For details on the functional requirements of one such host device, one may refer, e.g., to: “OpenCable™ Host Device Core Functional Requirements,” OC-SP-HOSR-CFR-I13-030707, Cable Television Laboratories, Inc., Jul. 7, 2003, incorporated herein by reference in its entirety.) With a common interface to the CableCard, a host can be moved from one place to another, provided that the user of the host device contact his/her new cable operator to obtain a new CableCard. (For details on such an interface, one may refer, e.g., to: “OpenCable™ HOST-POD Interface Specification,” OC-SP-HOSTPOD-IF-I13-030707, Cable Television Laboratories, Inc. Jul. 7, 2003, incorporated herein by reference in its entirety.) To provision a new CableCard and host device, an initialization and authorization process needs to be performed while the host device, with the CableCard inserted therein, is connected to the cable network. The initialization and authorization process begins with the user's providing an ID(s) of the CableCard and/or the host device (e.g., serial number(s)) to the cable operator. The cable operator looks up in a database a MAC address of the CableCard which typically is hard-coded in the CableCard, and is associated with the CableCard ID. During the authorization process, the cable operator may, for example, assign an IP address to the CableCard for its identification in the cable network. The cable operator may also collect from the host device data concerning the make, model, and ID of the host device (e.g., its serial number). The cable operator may associate the CableCard's MAC address (and/or IP address) with the user information, e.g., his/her name, address, etc. for billing purposes.
Encryption
In many content-based networks (e.g., cable television systems), the client device or consumer premises equipment (CPE) receives, through the cable TV network, programming content which may be encrypted, e.g., in accordance with the Data Encryption Standard (DES) technique or Advanced Encryption Standard (AES), to secure its delivery.
DES is a well-known symmetrical cipher that utilizes a single key for both encryption and decryption of messages. Because the DES algorithm is publicly known, learning the DES key would allow an encrypted message to be read by anyone. As such, both the message sender and receiver must keep the DES key a secret from others. A DES key typically is a sequence of eight bytes, each containing eight bits. To enhance the DES integrity, the DES algorithm may be applied successive times. With this approach, the DES algorithm enciphers and deciphers data, e.g., three times in sequence, using different keys, resulting in a so-called triple DES (3DES) technique.
The Advanced Encryption Standard (AES), also known as Rijndael, is a block cipher adopted as an encryption standard by many entities including the U.S. government. It is used worldwide, as is the case with its predecessor, DES. AES was adopted by National Institute of Standards and Technology (NIST) and was codified as US FIPS PUB 197 in November 2001.
AES has a fixed block size of 128 bits and a key size of 128, 192 or 256 bits. The key is expanded using the well-known Rijndael key schedule. Most of AES calculations are performed in a special finite field. AES typically operates on a 4×4 array of bytes, termed the state. For encryption, each cycle or round of AES (except the last round) consists of four stages or operations: (i) AddRoundKey, wherein each byte of the state is combined with the round key, and each round key is derived from the cipher key by using the key schedule; (ii) SubBytes, wherein a non-linear substitution is performed such that each byte is replaced with another according to a lookup table; (iii) ShiftRows, wherein a transposition step is performed such that each row of the state is shifted cyclically a given number of steps; and (iv) MixColumns, wherein a mixing operation which operates on the columns of the state is performed, thereby combining the four bytes in each column using a function (e.g., linear transformation). The final round of the algorithm replaces the MixColumns stage with another instance of the AddRoundKey step.
AES provides a much higher level of encryption than DES or 3DES, and hence is increasingly being integrated into applications where strong protection is desired, including the delivery of content over cable or other content-based networks.
In contrast to the DES or AES techniques, a public key encryption technique, e.g., an RSA technique (named for its developers, Rivest, Shamir, and Adleman), uses two different keys. A first key, referred to as a private key, is kept secret by a user. The other key, referred to as a public key, is available to anyone wishing to communicate with the user in a confidential manner. The two keys uniquely match each other, collectively referred to as a “public \-private key pair.” However, the private key cannot be easily derived from the public key. A party wishing to send a message to the user may utilize the public key to encrypt a message before transmitting it. The user then utilizes the private key to decrypt the message. Conversely, the private key may be used to encrypt a message, in which case the message can subsequently be decrypted with the public key. For example, the keys for the RSA algorithm are mathematically generated, in part, by combining prime numbers. The security of the RSA algorithm, and the like, depends on the use of very large numbers for its keys, which typically are 512 bits long or longer.
“Trusted Domains”
Another related approach for content protection comprises the creation and enforcement of a “trusted domain” or TD. Specifically, such a “trusted domain” (TD) comprises an area (physically or virtually) within which programming or other content is protected from unauthorized access, distribution and copying. For example, in a cable network, a trusted domain may include not only the network portion where programming content traditionally is secured by, and within total control of, a cable operator (including, e.g., the headend, HFC delivery network, etc.,) but also user devices or customer premises equipment (CPE)at subscribers' premises which are capable of receiving and securely storing programming content. Using the trusted domain approach, the network operator can guarantee certain subscriber access, distribution, and usage policy enforcement with respect to content held within the domain. For example, a digital representation of a movie held within an operator's TD (e.g., on a hard drive of a user device) cannot be distributed over the Internet, wireless network, etc. in viewable form, and cannot become a source for duplication of multiple viewable copies.
One exemplary approach of implementing a trusted domain, described in co-owned and co-pending U.S. patent application Ser. No. 11/006,404 filed Dec. 7, 2004 and entitled “Technique For Securely Communicating And Storing Programming Material In A Trusted Domain”, which is incorporated herein by reference in its entirety, comprises using two cryptographic elements (e.g., encryption keys), associated with a user and his/her client device(s), respectively, that control access to content stored in the client device(s) within the domain. For example, the content stored in the client device may be encrypted using a private or secret key in accordance with the DES or AES algorithms. When the encrypted content is transported from the client device to another device within the domain associated with the same user (or other common parameter or feature), the second device needs the cryptographic element (e.g., the secret key) to decrypt the encrypted content. To that end, the second device also receives from the source device an encrypted version of this secret key. The latter is generated by encrypting the secret key using a second and distinct cryptographic element (e.g., a public key in accordance with a public key algorithm) associated with the subscriber. The second device provides the encrypted version of the secret key to a remote apparatus, e.g., in a headend, where the secret key is recovered based on at least the encrypted version of the secret key and data relating to that user or client device. The second device then receives from the head-end another encrypted version of the secret key, which is generated by encrypting the recovered secret key using a third cryptographic element (e.g., a public key in accordance with a public key algorithm) associated with the second device. Based on at least this second encrypted version of the secret key, the secret key can be recovered in the second device to decrypt the encrypted content.
The trusted domain is preserved with respect to the stored content so long as the content remains encrypted and continues to be managed under the above-described key management methodology, regardless of which device stores the content. Once the content itself is decrypted, e.g., by a conditional access (CA) mechanism when data is sent from the SDVR CPE to a television monitor for display, the decrypted content is no longer within the trusted domain.
Digital Rights Management (DRAW and Steganograhy
Another approach used to control the distribution and use of protected content within a content-based network is to employ so-called digital rights management (DRM). For example, Media rights management systems such as the Microsoft Windows® Media Digital Rights Manager (DRM), may be used as well. The Windows® Media Player Version 9 comprises audio and video codecs, the Windows Media Encoder, Windows Media Server, Windows Media Software Development Kit (SDK), Digital Rights Management (DRM) technology, and an extensibility model that allows integration into third-party solutions.
According to one such DRM approach, a digital media or content file is encrypted and locked with a “license key.” The license key is stored in a license file or other data structure which is distributed separately from the media or content. A user can obtain the encrypted media file by, e.g., downloading it from a web site, purchasing it on a physical media, etc. To play the digital media file, the user must first acquire the license file including the license key for that media file. The user acquires the license key by accessing a pre-delivered license (which includes license terms or policies). Alternatively, when the user plays the file for the first time, a procedure is invoked for retrieving the license via a network connection or other delivery mode (e.g., the Internet). After obtaining the license with the license key, the user is able to access the media file according to the rules or rights specified in the license policies.
Another approach to DRM (see, e.g., the RealNetworks “Helix” Platform and Community approach) comprises encrypting a content file (typically perfromed by the system operator) to create a secured content file, thereby requiring a cryptographic key to access the content in the file. The key is included within a retailer's database, and the secured content file is distributed to users by, e.g., Internet connection or offline distribution of CDs. The retailer itself sets usage rules and policies for licensing the content. A user contacts the retailer's web server, such as via a trusted software client, in order to obtain a license to access the encrypted content. The retailer's web server requests certain rights from the operator's license server, the latter which creates a license containing the key for the requested content file. This license is given to the retailer (e.g. via the web server), which delivers the license to the trusted client of the user. The trusted client retrieves the content file, and uses the received key to access the content.
Related to DRM is the practice of steganography. Steganography is the art and science of including hidden data in such a way that no one apart from the intended recipient or sender knows of the existence of the data; this is in contrast to cryptography, where the existence of the data itself is not disguised, but the content is obscured. For example, digital steganographic data may included within the recorded data/content, such as digital watermarking data. For example, Digimarc®, SysCoP™, EIKONAmark™, and other similar commercially available watermarking approaches can be used for this purpose. While this approach does not per se prevent or control content access or distribution, it is often an effective post facto method of identification and determining the origin of media (e.g., where it was copied from), and hence knowledge of its presence can act as a significant deterrent to surreptitious reproduction and distribution.
Emerging Challenges and Opportunities
More recently, emerging technologies have focused on so-called “downloadable” conditional access systems (DCAS), which are intended to be implemented in next-generation two-way, cable-ready digital TV sets, set-top boxes and/or other related devices. This “download” approach would enable cable operators to download conditional access software directly to TV sets, set-top boxes and other digital entertainment devices in the subscribers' premises, and would be especially suited to interactive services such as VOD, PVR, etc. This would also obviate the physical CableCard form factor.
With the so-called FCC “navigation order” (Further Notice of Proposed Rulemaking (“FNPRM”), FCC 00-341, adopted Sep. 14, 2000; released Sep. 18, 2000) relating to, inter alia, the adoption of unidirectional plug and play, cable system operators are also required to support digital cable-ready devices on their systems. Downloadable conditional access (CA) functionality is one proposed conditional access technology that also meets this requirement. In addition to the requirements imposed by FCC 03-225, it is also desirable to support bi-directional cable-ready devices on its systems, as well as “separable security” functionality (i.e., the CA functionality is physically, or at least logically) separable from the host device. Ideally, such enhanced functionality would also allow both basic bi-directional functions (so-called single-stream devices) as well as the use of more advanced multi-stream devices such as digital video recorders (DVRs). It is also desirable to allow download-enabled devices to participate (ad hoc or otherwise) in the operator's trusted domain (TD).
In recent years, numerous systems for providing interconnectivity among devices in a premises (e.g., home, enterprise, university, etc.) have been developed, allowing premises networks to include DSTBs, personal computers, cellphones, PDA devices, etc. Because of the increasing popularity of premises networking and the demand for seamless interconnectivity between heterogeneous hardware/software environments (e.g., “plug and play”), there is a growing need for a strategy that enables a user to perform authorized transfer of protected content, e.g., transferring content from their cable system CPE to other devices in a premises network, or even outside of the network, and at the same time prevent unauthorized distribution and reproduction of the protected content. The foregoing CA, DRM, steganographic, and trusted domain technologies, while providing some degree of protection, simply do not support such control and protection within the increasingly complex user domain.
Specifically, these techniques do not support cryptographic key management and distribution systems that operate with both legacy or new CA systems, and are not under direct network operator (e.g., MSO) control.
Moreover, such existing techniques often cannot be smoothly integrated with retail (third party) devices, and are typically quite platform specific. They are often also specific to the content delivery mode (i.e., VOD, broadcast, broadcast-switched, and other content delivery paradigms).
These techniques also typically will not support seamless transition between independent implementations of CA, trusted domain, and DRM security features and policies, and are not standardized to any significant degree. For example, conditional access (CA) paradigms currently in use are not generally extensible beyond the user's CPE. So, the user would be prohibited from transferring streamed or downloaded content to their WiFi enabled laptop or PC, since proper conditional access support does not exist in these devices.
Prior art conditional access (CA) systems such as the Scientific Atlanta “Powerkey” approach described above have no authentication entity or “proxy” that can authenticate CPE or other connected devices in anticipation of providing download services, no video (media) provisioning system, and hence by nature are highly localized. Generally speaking, any “trusted domains” that might be established are not extendable beyond the CPE 106 on the client side of the delivery network.
Thus, improved apparatus and methods for distributing digital services to and within a user premises are needed. Such improved apparatus and services would ideally provide users with a number of diverse digital services in a more integrated and unified fashion, and allow for substantially unrestricted cross-over between different hardware and software environments.
These apparatus and methods would also allow for remote, centralized management, configuration, and control of content access, distribution and reproduction within the user domain, as well as extension of the conditional access, trusted domain, and DRM environments outside of merely the user's set-top box or other such consumer premises equipment (CPE).
Moreover, such apparatus and methods would ideally support cryptographic key management and distribution systems that operate with both legacy or new CA systems, under direct network operator (e.g., MSO) control, as well as allowing for integration with retail (third party) devices via, e.g., downloadable components and cryptographic elements sent directly via the operator's network.
Such improved apparatus and methods would also ideally be delivery-mode agnostic; i.e., they would be compatible with VOD, broadcast, broadcast-switched, and other content delivery paradigms, and would further allow for an interoperable architecture with components from different network, secure component, and CPE vendors, in effect standardizing many aspects of content control within the user domain.